package com.alameda.mapper.user;

import com.alameda.pojo.user.AdUserOrganizationDO;
import com.alameda.user.vo.AdUserOrganizationVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * 用户组织 数据控制层
 *
 * @author Lv
 * @date 2024/04/27
 */
@Mapper
public interface AdUserOrganizationMapper extends BaseMapper<AdUserOrganizationDO> {
    /**
     * 分页查询组织信息
     *
     * @param iPage            分页对象
     * @param organizationName 组织名称
     * @param parentId         父级组织id
     * @return
     */
    IPage<AdUserOrganizationVO> findByOrganizationNameAndParentId(@Param("iPage") IPage<AdUserOrganizationDO> iPage,
                                                                  @Param("organizationName") String organizationName,
                                                                  @Param("parentId") Long parentId);

    /**
     * 通过组织id或父组织id查询
     *
     * @param idCollection       组织id
     * @param parentIdCollection 父组织id
     * @return
     */
    List<AdUserOrganizationDO> findByIdInOrParentIdIn(@Param("idCollection") Collection<Long> idCollection, @Param("parentIdCollection") Collection<Long> parentIdCollection);
}
